docs(prd): add PRD 0015 — Report abuse without becoming a source of it - #64
Merged
Conversation
Attack sources are usually compromised third-party machines whose owners do not know. Reporting to the provider is the only mechanism that gets them cleaned up rather than merely blocked, and shared feeds are how small operators benefit from each other's observations. The problem is that an automated reporter makes PUBLIC ACCUSATIONS about other people's infrastructure, and every failure mode lands on someone else. Reporting a CGNAT or corporate NAT range attributes an attack to thousands of innocent users, and feeds propagate it. Worse, an attacker who can generate traffic appearing to come from a competitor can weaponize the reporter into a distributed reputation attack — the reporter becomes the abuse. So the central requirement is an evidentiary bar, not throughput: corroboration from a high-precision detector, a completed TCP handshake so spoofed sources are structurally unreportable, carrier ranges never reported, off by default, dry-run first, and retraction available because the module will eventually be wrong. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vu1nz Security Review0 finding(s) in PR #? No security issues found. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Specification for the
abuse-reportercore module, listed inPRD.mdand not yet specified.Attack sources are usually compromised third-party machines whose owners do not know. Reporting to the provider is the only mechanism that gets them cleaned up rather than merely blocked, and shared feeds are how small operators benefit from each other's observations.
The problem is that an automated reporter makes PUBLIC ACCUSATIONS about other people's infrastructure, and every failure mode lands on someone else. Reporting a CGNAT or corporate NAT range attributes an attack to thousands of innocent users, and feeds propagate it. Worse, an attacker who can generate traffic appearing to come from a competitor can weaponize the reporter into a distributed reputation attack — the reporter becomes the abuse.
So the central requirement is an evidentiary bar, not throughput: corroboration from a high-precision detector, a completed TCP handshake so spoofed sources are structurally unreportable, carrier ranges never reported, off by default, dry-run first, and retraction available because the module will eventually be wrong.
Spec only — no implementation in this PR.